package br.ucb.servlets.cliente;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import br.ucb.dao.ClienteDAO;
import br.ucb.entidade.Cliente;
import br.ucb.service.ClienteService;
import br.ucb.service.impl.ClienteServiceImpl;
import br.ucb.servlets.AbstractPapirosServlet;
import br.ucb.servlets.util.PapirosUtil;

public class AlterarClienteServlet extends AbstractPapirosServlet<Cliente, ClienteService, ClienteDAO>{

	private static final long serialVersionUID = 1L;

	@Override
	protected void processaRequisicao(HttpServletRequest req,
			HttpServletResponse resp)throws ServletException,IOException {

		setEntidadeService(new ClienteServiceImpl());

		if(PapirosUtil.isUserLogged(req)){
			setEntidade(getDadosFormulario(req));
			if(update(getEntidade(), req)){			
				req.setAttribute("cliente", getEntidade());
				forward(req, resp, "/alterarUsuario");
			}else{
				setMensagem("Os campos com asterisco devem ser preenchidos", req);
				forward(req, resp, "/jsp/restrito/alterarCliente.jsp");
			}
		}
	}
	
	private Cliente getDadosFormulario(HttpServletRequest req){
		Cliente cliente = new Cliente();
		
		cliente.setCpf(req.getParameter("txtCpf"));
		cliente.setEmail(req.getParameter("txtEmail"));
		cliente.setEndereco(req.getParameter("txtEndereco"));
		cliente.setNome(req.getParameter("txtNome"));
		cliente.setTelefone(req.getParameter("txtTelefone"));
		cliente.setEmDia(Integer.parseInt(req.getParameter("txtEmDia")));
		return cliente;
	}
	
}
